PreviousNextTracker indexSee it online !

(258/308) 1810 - ProjectViewer: Updating Version Control Status not cancellable from TaskMon

I have a HUGE git project with lots of sub-projects. After a re-import, I see
the "updating version control status" task never finishes, and I can't abort it.

If I re-import files again, then another is created that also never finishes.

Using the Qt git checkout as a test case.
http://qt-project.org/wiki/Building_Qt_5_from_Git

Submitted ezust - 2014-12-29 18:08:06.330000 Assigned daleanson
Priority 5 Labels ProjectViewer GitPlugin
Status open Group
Resolution None

Comments

2014-12-29 20:56:11.246000
ezust

- Description has changed:

Diff:

~~~~

--- old
+++ new
@@ -1,6 +1,7 @@
-I have a HUGE git project with lots of sub-projects.
+I have a HUGE git project with lots of sub-projects. After a re-import, I see
the "updating version control status" task never finishes, and I can't abort it.
-Sometimes there are 2 of them.
+
+If I re-import files again, then another is created that also never finishes.

Using the Qt git checkout as a test case.
http://qt-project.org/wiki/Building_Qt_5_from_Git

~~~~

- **Group**: -->

2014-12-30 01:40:52.079000
daleanson

I don't have time to fix this right now, it might be a few days until I can get to it. Here is my preliminary take on it -- the vcs status is updated via a swing worker in ProjectManager.java (see line 744). I'm not up on the jEdit task manager, but it should somehow call the "cancel(true)" method on this swing worker. Probably the call to updateVCSStatus(project) (see line 458 in ProjectManger) should return a reference to the swing worker so the caller can call the "cancel" method when needed. That might do it.

2015-01-02 03:55:11.782000
daleanson

- **assigned_to**: Dale Anson

2015-01-02 03:55:12.233000
daleanson

I checked in a fix for this, it turns out it was a simple one-liner. Would you give it a try and see if it works for you?

2015-01-02 15:33:05.076000
ezust

Clicking the stop button twice shows this in the activity log but the task is still there.


7:31:07 AM [AWT-EventQueue-0] [debug] EditBus: DynamicMenuChanged[menu=recent-files,source=null]
7:31:10 AM [jEdit Worker #1] [error] jEdit Worker #1: java.lang.InterruptedException
7:31:10 AM [jEdit Worker #1] [error] jEdit Worker #1: at java.lang.Object.wait(Native Method)
7:31:10 AM [jEdit Worker #1] [error] jEdit Worker #1: at java.lang.Object.wait(Object.java:503)
7:31:10 AM [jEdit Worker #1] [error] jEdit Worker #1: at java.lang.UNIXProcess.waitFor(UNIXProcess.java:263)
7:31:10 AM [jEdit Worker #1] [error] jEdit Worker #1: at common.io.ProcessExecutor.waitFor(ProcessExecutor.java:234)
7:31:10 AM [jEdit Worker #1] [error] jEdit Worker #1: at git.GitCommand.execute(GitCommand.java:82)
7:31:10 AM [jEdit Worker #1] [error] jEdit Worker #1: at git.GitCommand.execute(GitCommand.java:61)
7:31:10 AM [jEdit Worker #1] [error] jEdit Worker #1: at git.GitService.getNodeState(GitService.java:76)
7:31:10 AM [jEdit Worker #1] [error] jEdit Worker #1: at projectviewer.ProjectManager$VCSStateLoader.processChildren(ProjectManager.java:796)
7:31:10 AM [jEdit Worker #1] [error] jEdit Worker #1: at projectviewer.ProjectManager$VCSStateLoader.processChildren(ProjectManager.java:806)
7:31:10 AM [jEdit Worker #1] [error] jEdit Worker #1: at projectviewer.ProjectManager$VCSStateLoader.processChildren(ProjectManager.java:806)
7:31:10 AM [jEdit Worker #1] [error] jEdit Worker #1: at projectviewer.ProjectManager$VCSStateLoader.processChildren(ProjectManager.java:806)
7:31:10 AM [jEdit Worker #1] [error] jEdit Worker #1: at projectviewer.ProjectManager$VCSStateLoader.processChildren(ProjectManager.java:806)
7:31:10 AM [jEdit Worker #1] [error] jEdit Worker #1: at projectviewer.ProjectManager$VCSStateLoader.doInBackground(ProjectManager.java:780)
7:31:10 AM [jEdit Worker #1] [error] jEdit Worker #1: at javax.swing.SwingWorker$1.call(SwingWorker.java:296)
7:31:10 AM [jEdit Worker #1] [error] jEdit Worker #1: at java.util.concurrent.FutureTask.run(FutureTask.java:262)
7:31:10 AM [jEdit Worker #1] [error] jEdit Worker #1: at javax.swing.SwingWorker.run(SwingWorker.java:335)
7:31:10 AM [jEdit Worker #1] [error] jEdit Worker #1: at org.gjt.sp.util.TaskManager$MyTask._run(TaskManager.java:258)
7:31:10 AM [jEdit Worker #1] [error] jEdit Worker #1: at org.gjt.sp.util.Task.run(Task.java:64)
7:31:10 AM [jEdit Worker #1] [error] jEdit Worker #1: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
7:31:10 AM [jEdit Worker #1] [error] jEdit Worker #1: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
7:31:10 AM [jEdit Worker #1] [error] jEdit Worker #1: at java.lang.Thread.run(Thread.java:745)
7:31:10 AM [jEdit Worker #1] [error] Status: GitCommand Failed: git status --porcelain /home/ezust/Trolltech/qt5/qtbase/config.tests/x11/xinput2/xinput2.pro
7:31:10 AM [jEdit Worker #1] [error] Status: null
7:31:24 AM [jEdit Worker #1] [error] jEdit Worker #1: java.lang.InterruptedException
7:31:24 AM [jEdit Worker #1] [error] jEdit Worker #1: at java.lang.Object.wait(Native Method)
7:31:24 AM [jEdit Worker #1] [error] jEdit Worker #1: at java.lang.Object.wait(Object.java:503)
7:31:24 AM [jEdit Worker #1] [error] jEdit Worker #1: at java.lang.UNIXProcess.waitFor(UNIXProcess.java:263)
7:31:24 AM [jEdit Worker #1] [error] jEdit Worker #1: at common.io.ProcessExecutor.waitFor(ProcessExecutor.java:234)
7:31:24 AM [jEdit Worker #1] [error] jEdit Worker #1: at git.GitCommand.execute(GitCommand.java:82)
7:31:24 AM [jEdit Worker #1] [error] jEdit Worker #1: at git.GitCommand.execute(GitCommand.java:61)
7:31:24 AM [jEdit Worker #1] [error] jEdit Worker #1: at git.GitService.getNodeState(GitService.java:76)
7:31:24 AM [jEdit Worker #1] [error] jEdit Worker #1: at projectviewer.ProjectManager$VCSStateLoader.processChildren(ProjectManager.java:796)
7:31:24 AM [jEdit Worker #1] [error] jEdit Worker #1: at projectviewer.ProjectManager$VCSStateLoader.processChildren(ProjectManager.java:806)
7:31:24 AM [jEdit Worker #1] [error] jEdit Worker #1: at projectviewer.ProjectManager$VCSStateLoader.processChildren(ProjectManager.java:806)
7:31:24 AM [jEdit Worker #1] [error] jEdit Worker #1: at projectviewer.ProjectManager$VCSStateLoader.processChildren(ProjectManager.java:806)
7:31:24 AM [jEdit Worker #1] [error] jEdit Worker #1: at projectviewer.ProjectManager$VCSStateLoader.processChildren(ProjectManager.java:806)
7:31:24 AM [jEdit Worker #1] [error] jEdit Worker #1: at projectviewer.ProjectManager$VCSStateLoader.processChildren(ProjectManager.java:806)
7:31:24 AM [jEdit Worker #1] [error] jEdit Worker #1: at projectviewer.ProjectManager$VCSStateLoader.doInBackground(ProjectManager.java:780)
7:31:24 AM [jEdit Worker #1] [error] jEdit Worker #1: at javax.swing.SwingWorker$1.call(SwingWorker.java:296)
7:31:24 AM [jEdit Worker #1] [error] jEdit Worker #1: at java.util.concurrent.FutureTask.run(FutureTask.java:262)
7:31:24 AM [jEdit Worker #1] [error] jEdit Worker #1: at javax.swing.SwingWorker.run(SwingWorker.java:335)
7:31:24 AM [jEdit Worker #1] [error] jEdit Worker #1: at org.gjt.sp.util.TaskManager$MyTask._run(TaskManager.java:258)
7:31:24 AM [jEdit Worker #1] [error] jEdit Worker #1: at org.gjt.sp.util.Task.run(Task.java:64)
7:31:24 AM [jEdit Worker #1] [error] jEdit Worker #1: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
7:31:24 AM [jEdit Worker #1] [error] jEdit Worker #1: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
7:31:24 AM [jEdit Worker #1] [error] jEdit Worker #1: at java.lang.Thread.run(Thread.java:745)
7:31:24 AM [jEdit Worker #1] [error] Status: GitCommand Failed: git status --porcelain /home/ezust/Trolltech/qt5/qtbase/doc/global/template/style/icomoon.ttf
7:31:24 AM [jEdit Worker #1] [error] Status: null